import {
  getVersion
} from '@/api/common/index'
export function update() {
  return new Promise((resolve, reject) => {
    plus.runtime.getProperty(plus.runtime.appid, function(inf) {
      var result = {};
      // console.log('本地版本', inf.version)
      var infversion = inf.version;
      getVersion({
        type: "android"
      }).then((res) => {
        if (res.code == 200) {
          // console.log(res)
          var version = res.result.version;
          // var url = res.result.downloadUrl;
          var hotPatchUrl = res.result.hotPatchUrl; //热更地址
          var downloadUrl = res.result.downloadUrl; //整包下载地址
          var forceUpdate = res.result.forceUpdate; //是否需要强制更新 1强制

          // 版本相同，无需更新
          if (version == infversion) {
            result = {
              updateName: '',
              updateUrl: '',
              forceUpdate: forceUpdate
            };
            resolve(result)
            return
          }
          if (version < infversion) {
            // 服务器版本小于本地版本,实际不存在
            // 去商店更新
            result = {
              updateName: 'storeUpdate',
              updateUrl: '',
              forceUpdate: forceUpdate
            };
            resolve(result)
            return
          }
          // 服务器版本大于用户版本，需更新
          if (version > infversion) {
            if (hotPatchUrl) {
              // 热更
              result = {
                updateName: 'hotUpdate',
                updateUrl: hotPatchUrl,
                forceUpdate: forceUpdate
              };
              resolve(result)
              return
            } else if (downloadUrl) {
              // 整包下载
              result = {
                updateName: 'apkUpdate',
                updateUrl: downloadUrl,
                forceUpdate: forceUpdate
              };
              resolve(result)
              return
            } else {
              // 去商店更新
              result = {
                updateName: 'storeUpdate',
                updateUrl: '',
                forceUpdate: forceUpdate
              };
              resolve(result)
              return
            }
          }
        } else {
          uni.showToast({
            title: res.message,
            icon: 'none'
          })
        }
      })
    })
  });
}
